package com.ccnode.codegenerator.taikaoback.security.jwt;


import java.util.concurrent.ThreadLocalRandom;

/**
 * 验证码生成工具类
 */
public final class SmsCodeUtil {

    private static final char[] NUMBERS = "0123456789".toCharArray();

    private SmsCodeUtil() {
        // 防止实例化
    }

    /**
     * 生成指定长度的纯数字验证码
     *
     * @param length 长度（必须 > 0）
     * @return 验证码字符串
     */
    public static String generateCode(int length) {
        char[] code = new char[length];
        for (int i = 0; i < length; i++) {
            code[i] = NUMBERS[ThreadLocalRandom.current().nextInt(NUMBERS.length)];
        }
        return new String(code);
    }

    /**
     * 生成6位数字验证码（常用）
     */
    public static String generateSixDigitCode() {
        return generateCode(6);
    }

    /**
     * 生成4位数字验证码
     */
    public static String generateFourDigitCode() {
        return generateCode(4);
    }
}